package com.yuelao.yuelao_backend.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yuelao.yuelao_backend.entity.Conversation;

import java.util.List;

/**
 * 会话Service
 * 重构说明：新增，用于管理私聊会话
 */
public interface ConversationService extends IService<Conversation> {

    /**
     * 获取或创建会话
     * @param user1Id 用户1
     * @param user2Id 用户2
     * @return 会话
     */
    Conversation getOrCreateConversation(Long user1Id, Long user2Id);

    /**
     * 获取用户的所有会话列表
     * @param userId 用户ID
     * @return 会话列表
     */
    List<Conversation> getUserConversations(Long userId);

    /**
     * 更新会话的最后消息信息
     * @param conversationId 会话ID
     * @param lastMessageId 最后消息ID
     * @return 是否成功
     */
    boolean updateLastMessage(Long conversationId, Long lastMessageId);

    /**
     * 获取未读消息数量
     * @param conversationId 会话ID
     * @param userId 用户ID
     * @return 未读数量
     */
    int getUnreadCount(Long conversationId, Long userId);
}

